約 2,212,007 件
https://w.atwiki.jp/dreamer/pages/7.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/dreamer/pages/10.html
コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_60_ja.html たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
https://w.atwiki.jp/hazama/pages/734.html
編集/ 名声値ルールver2.00| 成長ポイント| 欲求値ルールver2.00| 欲求値ルールver2.50| 絆ルールver1.0| 絆ルールver1.0/コメントログ| 絆ルールver1.5| 週単位活動ルールver2.0| 週単位活動ルールver2サマリ| 週単位活動ルールver3ドラフト/コメントログ| 週単位活動・名声値・欲求値複合サマリ 週単位成長ルール マスターが許可すれば、プレイヤーはキャラクターを1週間単位で成長させることができます。 まずキャラクターが1週間をすごす「生活パターン」を「業務」「経験」「奉仕」「訓練」「休息」の5つから選択します。 業務:日常生業にしている生活手段を用いたパターンです。唯一収入のある生活パターンです。 経験:生命に危険があったり、生活に大きな変化のある、いわゆる「冒険」に類する生活です。もしくは趣味に没頭した場合もこの欄を使います。唯一POWに向上ポイントを受け取れます。 奉仕:生活費をカルトに負担してもらうのと引き換えにカルトの業務を行います。 訓練:集中してトレーナーの指導を受けます。 休息:傷ついたからだを休めます。 生活パターンごとにキャラクターの技能を上げるための「向上ポイント」の数と割り振れる技能、生活を維持するための収入と支出が決まります。 ◇生活パターン表◇ 生活パターン 向上ポイント 割り振れる技能 収支 業務 3 業務に用いる技能。どの技能を用いるかはマスターに相談すること。 br 用いる技能は3つに満たなくてもかまわないが、向上ポイントは技能の数までしか受け取れない。 業務に用いる技能の[平均値の二乗÷100]ルナーの収入。 奉仕 2 カルト技能(入信時に試験される技能及び<雄弁><自国語会話><自国語読書><カルト知識><浄化>) なし 経験 5 マスターの認める技能、POW抵抗の発生する呪文を持っていればPOW 生活費 訓練 0 50時間相当の訓練 生活費+訓練費用 休息 2 知識・交渉・魔術分野の研究とAPPの研究のみ。基本ルールブックp43「自然の治癒」を適用可能。 生活費 生活費は貧困層で週10ルナー、平均的な生活を営むには週30ルナーが必要。業務に従事しているときは、収入に見合った生活費を支払済みとみなす。 訓練費用は基本ルールブックp37を参照。 カルトの礼拝でPOW上昇ロールを行う週は奉仕として取得すること。入信者であれば大聖祝日を含む週、司祭等は毎季に1週を奉仕にあてていなければ非活動となる。この礼拝で獲得したPOWは神聖呪文の取得にあててよい。 経験チェックの入る技能では、向上ポイントを「経験」とするか「研究」とするかを選べます。 「経験」ではひとつの技能には1週間に1ポイントしか向上ポイントを割り振れません。従って、経験だけで向上ポイントを使い切るには5つの技能にそれぞれ1ポイントを割り振る必要があります。向上ポイントが「週単位経験上昇表」に記載された必要ポイント数を満たすと、技能は5%上昇します。 「研究」として割り振ったなら、1向上ポイントは10時間の研究時間として使用できます。「研究」ではひとつの技能に1週間に2ポイント以上でも割り振ることができます。 経験チェックの入らない技能には「研究」として向上ポイントを割り振ることしかできません。 週単位経験上昇表の見かた 縦軸が現在の技能値(技能分野修正値含まず)、横軸が技能分野修正値。表の交差する数字がその技能が5%上昇するためにに必要な向上ポイントを表します。 累積した向上ポイントが表にある必要なポイント数を満たしたならば、その技能は自動的に5%上昇します。技能が上昇したらその技能に溜めていた向上ポイントは再び0に戻ります。 ◇週単位経験上昇表◇ 技能分野修正値技能 ~-5 -4~0 1~5 6~10 11~15 16~20 21~25 26~30 31~35 36~40 41~ ~05 15 15 12 7 5 4 3 3 3 2 2 06~10 16 13 7 5 4 3 3 3 2 2 2 11~15 13 8 6 4 4 3 3 3 2 2 2 16~20 8 6 5 4 3 3 3 2 2 2 2 21~25 6 5 4 4 3 3 3 2 2 2 2 26~30 5 4 4 3 3 3 3 2 2 2 2 31~35 5 4 4 3 3 3 3 3 2 2 2 36~40 4 4 4 3 3 3 3 3 3 2 2 41~45 4 4 4 3 3 3 3 3 3 3 3 46~50 4 4 4 3 3 3 3 3 3 3 3 51~55 4 4 4 4 3 3 3 3 3 3 3 56~60 4 4 4 4 4 4 4 3 3 3 3 61~65 5 5 4 4 4 4 4 4 4 4 3 66~70 5 5 5 5 5 5 5 4 4 4 3 71~75 6 6 6 5 5 5 5 5 4 4 3 76~80 7 7 7 7 7 7 6 5 4 4 3 81~85 9 9 9 8 8 8 6 5 4 4 3 86~90 12 12 12 12 11 8 6 5 4 4 3 91~95 21 21 20 17 11 8 6 5 4 4 3 96~ 29 29 29 18 11 8 6 5 4 4 3 週単位POW上昇表の見かた 経験の一種として、POWを上昇させることもできます。POWは経験チェックのつく技能と同様に、1週間に1ポイントしか向上ポイントを割り振れません。 POWチェックを獲得する有効な呪文を持っていない場合にはPOWに経験を得ることはできません。 縦軸は現在のPOW。横軸は「呪文投射時の抵抗ロールへのボーナス」です。呪文強化魔漿石や《吸収》《切開》などを連続して1週間を越えて維持できる場合、そのボーナスに相当する修正を受けることができます。+7以上のボーナスはほとんど影響を与えないので、近似的に+7の欄で見ます。 表の交差する数字がPOWが1ポイント上昇するためにに必要な向上ポイントを表します。 累積した向上ポイントが表にある必要なポイント数を満たしたならば、POWが自動的に1ポイント上昇します。POWが上昇したら溜めていた向上ポイントは再び0に戻ります。 ◇週単位POW上昇表◇ 抵抗ロールへの加算POW 0 1 2 3 4 5 6 7 1 11 9 7 6 5 4 3 3 2 9 7 6 5 4 3 3 2 3 7 6 5 4 3 3 3 2 4 6 5 4 4 3 3 2 2 5 5 4 4 3 3 3 2 2 6 5 4 4 3 3 3 2 2 7 4 4 3 3 3 3 2 2 8 4 4 3 3 3 3 2 2 9 4 4 3 3 3 3 3 3 10 4 3 3 3 3 3 3 3 11 4 4 3 3 3 3 4 4 12 4 4 4 4 4 4 5 6 13 4 4 4 4 4 5 6 8 14 5 5 5 5 6 7 9 13 15 5 5 6 7 8 11 15 24 16 7 7 8 10 13 18 29 50 17 9 10 12 16 23 36 63 -- 18 14 17 22 31 48 83 -- -- 19 25 32 46 73 -- -- -- -- 20 65 92 -- -- -- -- -- -- 21 92 -- -- -- -- -- -- -- 常備呪文表の見かた 今回は常備呪文表とその取り扱いは煩雑になるため割愛します。 特別な向上ポイントの獲得 複合専用の技能 他の技能と必ず組み合わせて使用し、「1回のロールで両方の成否を判定する」技能の一方に「経験」によって向上ポイントを割り振ったなら、生活パターンから獲得する向上ポイントとは別に、もう一方の技能にも「経験」による向上ポイントを割り振ることができます。経験チェック欄のない技能にはこのポイントは適用できません。 POW獲得に魔導呪文を使用した場合 キャラクターが抵抗ロールのある魔導呪文を持っているなら、POWに向上ポイントを割り振ったときは、生活パターンから獲得する向上ポイントとは別に、その魔導呪文にも向上ポイントを割り振ることができます。 週単位成長記録シート 「週単位成長記録シート」を使用すると、向上ポイントの記録が簡単です。「週単位成長記録シート」はこのルールによる上昇だけではなく、キャラクターの冒険の記録としても使えます。 20080903週単位成長記録シート.pdf 実際に冒険した週にはA(Adventure-冒険)を記録し、その他の週には選択した生活パターンを記入します。 業務に従事した週には業務に用いた技能の平均値と収入、支出のあった週には支出を記入できます。 技能/POW欄に向上ポイントを割り振る技能名(もしくはPOW)を記入してください。 まず、向上ポイントを累積し始めたときの技能値(技能分野修正値を含まないもの)を上列に記入し、下列にポイントの累計を記入していきます。 向上ポイントの累計が必要なポイントに達したら、向上した技能値/POWを翌週の上列に記入します。向上ポイントを割り振っていても、必要なポイント数に達しないうちは技能はまったく上昇していないものとして扱います。 これでキャラクターが再度冒険に登場するときに、どの技能が成長していて、どの技能はまだ成長していないのかがすぐにわかるでしょう。 向上ポイントの累積中に技能値や技能分野修正値が変化したとき 向上ポイントの累積中に技能値が技能分野修正値が変化したときは、変化した時点で累積中の向上ポイントで技能が上昇するかどうかを再評価します。 例えば技能値が25、技能分野修正値が+6、向上ポイントを3ポイント累積していたキャラクターが、冒険によって技能値が28になったとします。技能値が25のときに必要な向上ポイントは4ポイントでしたが、技能値が28になったことによって必要な向上ポイントは3ポイントに低下しました。必要なポイントを満たしたので、キャラクターは技能値を+5%して33とすることができます。 運用の指針 マスターは生活パターンによって獲得可能な向上ポイントを、キャラクターが実際に生活するであろう環境に合わせて増減させることもできます。 日常的に非常に危険で2倍の経験を得る場所もあれば、1季に1週程度しか経験をつめない安全な世界もあるでしょう。安全な世界では「経験」にできない週を「研究」として認めるべきです。 また、キャラクターが育ちすぎると考えるグループもあるかもしれません。その場合は1回に上昇する値を5%ではなく、4%、3%のように引き下げることで調整することができます。 Excelでほしい。 -- (aza) 2008-09-04 02 03 31 とりあえず古い方 http //www30.atwiki.jp/hazama?cmd=upload act=open pageid=789 file=%E9%80%B1%E5%8D%98%E4%BD%8D%E7%B5%8C%E9%A8%93%E4%B8%8A%E6%98%87%E8%A1%A8.xls -- (なゆた) 2008-09-04 07 53 24 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/futsu_netradio/pages/100.html
ハヤブサJS ♂ (hayabusaje-esu) 彼を一言で言えば、黄ばんだブリーフ。
https://w.atwiki.jp/3sthrees_gc/
@wikiへようこそ ウィキはみんなで気軽にホームページ編集できるツールです。 このページは自由に編集することができます。 メールで送られてきたパスワードを用いてログインすることで、各種変更(サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等)することができます まずはこちらをご覧ください。 @wikiの基本操作 用途別のオススメ機能紹介 @wikiの設定/管理 分からないことは? @wiki ご利用ガイド よくある質問 無料で会員登録できるSNS内の@wiki助け合いコミュニティ @wiki更新情報 @wikiへのお問合せフォーム 等をご活用ください @wiki助け合いコミュニティの掲示板スレッド一覧 #atfb_bbs_list その他お勧めサービスについて 大容量1G、PHP/CGI、MySQL、FTPが使える無料ホームページは@PAGES 無料ブログ作成は@WORDをご利用ください 2ch型の無料掲示板は@chsをご利用ください フォーラム型の無料掲示板は@bbをご利用ください お絵かき掲示板は@paintをご利用ください その他の無料掲示板は@bbsをご利用ください 無料ソーシャルプロフィールサービス @flabo(アットフラボ) おすすめ機能 気になるニュースをチェック 関連するブログ一覧を表示 その他にもいろいろな機能満載!! @wikiプラグイン @wiki便利ツール @wiki構文 @wikiプラグイン一覧 まとめサイト作成支援ツール バグ・不具合を見つけたら? 要望がある場合は? お手数ですが、メールでお問い合わせください。 名前 書き込み - 3Sthrees 2012-08-09 20 47 49 返信テスト - 名無しさん 2012-08-09 20 47 59
https://w.atwiki.jp/wuasl/pages/25.html
セルシウス(Celsius, 記号 ℃) ENo.3243 キララ=C=ティルフォ 性別 女性 世界 セルフォリーフ 年齢 13歳 タイプ 力、熱量 身長 147cm その他 特に無し * 備考 H.N 傍観者セル ネット上のバトル『世界単位協会』の戦いの傍観者。 と言いつつ、腹黒い高祖母を持つだけあって最後は全部始末しちゃおうかなぁとかなんとか。 と、思っていたら「壮大なオフ会という名前の現実」が待っていた。 さぁ、どうする。そもそも、君は立場的に戦えないぞ!早く来やがれファーレンハイト。 まだ水銀圧の方が戦う相手がいるじゃないかコンチキショー。乳酸菌とってるぅ~? 銀髪のショートヘアーに、高祖母の形見であった帽子を縫い直したポシェット。 紅の瞳に丸っこい顔。私服なども高祖母の以前着ていた服を元にしたものを着ている。 無造作に見えるズボンとブラウスの間の臍などは年齢もあってか、あまり気にしていない。 身長は女性にしても小柄、であるが、現在成長中であり、成長後は大体160cm位になる予定。 能力としては攻撃的な火霊を後ろからぶっぱなしつつ、ペット任せの戦い。 どっかの妖魔司教さんが「自分の肉体は一切傷つかずに思い通り動かせてなおかつ一方的に 敵をいたぶれる戦術」は無敵だとか言ってた。 と言いつつ、普通に前線に立ちたがる。「勝てば官軍」とはよく言ったもの。
https://w.atwiki.jp/febwiki/pages/81.html
King Queen Mix 発売元:Pony Canyon 発売日:1990.10.21 商品型番:PCCY-00147 リミキサー:Switch-Back ■概要 Pony Canyonがリリースしていた「Maharaja Mix」シリーズの番外編。 「Over Over / Manuela」は今作がコンピ初収録となる。 ■トラックリスト トラック番号 曲名 アーティスト名 収録時間 捕捉 1 Over Over Manuela 3 05 2 You And Me Monique 4 51 3 One Two Three Max Coveri Radiorama 3 49 4 Daddy Daddy Radiorama 4 30 5 L.O.V.E. Samantha Gilles 4 37 6 Hey Man Mike Hammer 5 17 7 Right Time Chester 3 04 8 Jolly Joker Atrium 4 43 9 Heaven Virgin 4 19 10 Give Up Dr.Money 4 30
https://w.atwiki.jp/aki-dead/pages/44.html
はじめに パス 特別単位 「1万円の金券」 「ヘルオンアース製『対“悪魔憑き”武装』」の入手 単位発行の基準 ミッション達成などによるもの 記事投稿などによるもの はじめに パスと特別単位はデモンパラサイトサプリメント『ディアボロス・スクールガイド』で使用される特別なルールです。 ここでは、『エロいセッションしませんか?』コミュニティの『悪魔の楽園』で使われるパスと特別単位のローカルルールの説明のために、サプリメントの一部を引用します。 より詳しく知りたい方は、デモンパラサイトサプリメント『ディアボロス・スクールガイド』をお買い求めください。 パス パスは『須佐山学園』の学生・教師・職員・その他関係者に配布されるICカードのようなものです。須佐山学園はいくつかのエリアに分割されており、パスはそれらに入るための身分証としての役割を果たしています。 パスは以下の7種+1種があり、『悪魔の楽園』では、身分証としての役割以外に、いくつかの特権が与えられます。 パスの色 パスの種別 追加収入 経済力上昇 赤(レッド) 学生用のパス なし なし 橙(オレンジ) 教師用のパス 3d6x1500円 なし 黄(イエロー) 教頭用のパス 1d6x1万円 なし 白(ホワイト) 学園長用のパス 2d6x1万円 なし 緑(グリーン) 学園警備隊用のパス 3d6x1万5千円 1段階 青(ブルー) 理事用のパス 1d6x10万円 2段階 紫(ヴァイオレット) 不明、上級のパス 2d6x10万円 3段階 紫外線(ウルトラヴァイオレット) 不明、上級のパス、PC取得不可能 不明 不明 特別単位 特別単位は学園関係者に与えられる名誉点のようなものです。これらを蓄積させることで、キャラクターは様々な特典を得ることができます。 『悪魔の楽園』では、以下のような特典を得ることができます。 1点 = 「1万円の金券」との交換 1点 = 1000カオスとの交換 1点 = 経験値の魔結晶50点との交換 1点 = 無断欠席(欠勤)を3日間行っても出席したものとして数える 1点 = 必要魔結晶50点の共生武装と交換できる(要:パス(橙)) 2点 = 試験1科目の免除 2点 = 必要魔結晶100点の共生武装と交換できる(要:パス(橙)) 4点 = 必要魔結晶200点の共生武装と交換できる(要:パス(橙)) 5点 = パスのランクを1ランク上昇させる 5点 = 着床前の「悪魔寄生体」を1つ得られる(要:パス(橙)) 6点 = 必要魔結晶300点の共生武装と交換できる(要:パス(橙)) 8点 = 必要魔結晶400点の共生武装と交換できる(要:パス(橙)) 10点 = 必要魔結晶500点の共生武装と交換できる(要:パス(橙)) 「1万円の金券」 文字通り、1万円の価値を持つ金券ですが、『悪魔の楽園』ではこれを使って様々なものを購入できます。 1枚 = 1000カオスとの交換 1枚 = LV1、2魔結晶との交換 2枚 = LV3、4魔結晶との交換 10枚 = LV5、6魔結晶との交換 20枚 = LV7、8魔結晶との交換 60枚 = LV9、10魔結晶との交換 「ヘルオンアース製『対“悪魔憑き”武装』」の入手 パス(青)以上のパスを所持しているものは、ヘルオンアース製『対“悪魔憑き”武装』を購入、維持することができます。また、パス(青)以上のパスを所持しているものは、1カオス=100円のレートで貨幣カオスを得ることができます。 単位発行の基準 ミッション達成などによるもの 2単位 = “悪魔事件”解決 2単位 = 学園長などの特命遂行 1単位 = 競技会などで好成績を残す 記事投稿などによるもの 1単位 = 1項目(能力1つ、共生武装1つなど)投稿 2単位 = フォーマット移行 2単位 = 本サイトへの会員登録 2単位 = 誤字・脱字・誤フォーマットの修正(1ページごと) 2単位 = ラフ画像投稿 5単位 = 清書した画像の投稿 3単位 = 依頼を受けたラフ投稿 8単位 = 依頼を受けた清書した画像の投稿 5単位 = リプレイ投稿 2単位 = 会議での発言
https://w.atwiki.jp/0x0b/pages/39.html
型 8 型 (Types) 値は実体であり、9 つの型のうちの 1 つを取る。型は 9 つ (Undefined, Null, Boolean, String, Number, Object, Reference, List, Completion) ある。Reference 型, List 型, Completion 型の値は式評価の中間結果としてのみ使われ、オブジェクトのプロパティに蓄積はできない。 8.1 Undefined 型 (Undefined Type) Undefined 型は、undefined と呼ばれる厳密には一つの値を持つ。値を代入されていない任意の変数は undefined 値を持つ。 8.2 Null 型 (Null Type) Null 型は、null と呼ばれる厳密には一つの値を持つ。 8.3 Boolean 型 (Boolean Type) Boolean 型は、true と false と呼ばれる二値を持つ論理的実体をあらわす。 8.4 String 型 (String Type) String 型は、0 または 16 ビット符号なし整数値("要素")の、すべての有限な序列のあるシーケンスの組である。ECMAScript プログラムの実行時、String 型は一般にテキストデータの表現に使われる。その中で、文字列内の各要素はコードポイント値(セクション 6 参照) として扱われる。シーケンス内で各要素は位置の占有とみなされる。これらの位置は正の整数でインデックス付けられる。最初の要素が位置 0 で、次の要素は位置 1 であり、以下同様である。文字列の長さは、その中にある要素の数である。空文字列は要素を持たず、長さは 0 である。 文字列が実際のテキストデータを含むとき、各要素は1個の UTF-16 単位として考えられる。これが実際に蓄積された String の形式かどうかに関係なく、String 内部の文字は UTF-16 であらわされたかのように番号付けられる。String 上の全操作は、それらを区別しない 16 ビット符号無し整数の列として扱う; それらは結果の文字列が正規化形式であることを保証しないし、language-sensitive な結果であることも保証しない。 NOTE これらの決定の理論的解釈は単純さとしての文字列と可能性としての高パフォーマンス性の実装を保持することであった。外部から実行環境に入るテキストデータ (ユーザの入力、ファイルやネットワークからの受信などからのテキスト読み込み等) が、実行プログラムがそれを見る前に Unicode 正規化形式 C (Unicode Normarized Form C) に変換されることを意図する。通例これは、入ってくるテキストが元の文字エンコーディングから Unicode に変換されることを同時に発生させる。ECMAScript ソースコードが正規化形式 C であることが勧められるので、それらが Unicode エスケープシーケンスを含んでいない限り、文字列リテラルは正規化されていること(ソーステキストが正規化されることを保証される場合)を保証される。 8.5 Number 型 (Number Type) Number 型は、ちょうど 18437736874454810627 (即ち 264-253+3) 個の値を持ち、二進法浮動小数点数点演算のための IEEE 標準に定められる倍精度64ビットのフォーマットIEEE 754 の値を表わす。ただし IEEE 標準の 9007199254740990 (すなわち 253-2) 個の区別される "Not-a-Number" 値は ECMAScript においては単独の特殊な NaN 値として表されることを除く。(プログラム実行によりグローバルに定義された変数 NaN が変更されていないと仮定して、NaN 値がプログラム式 NaN によって生成されることに注意。) 外部コードが様々な Non-a-Number 間の違いを判定できる実装もあるだろうが、その振舞いは実装依存である; ECMAScriptコードでは、NaN 値はすべて互いと判別不能である。 他に特別な値が 2 つある。それは正の無限 (positive Infinity) 、および負の無限 (negative Infinity) と呼ばれる。簡単に、解説ではシンボル +∞ と -∞ によってもこれらの値をそれぞれ参照する。(グローバルに定義された変数 Infinity がプログラム実行によって変更されてないと仮定して、これら 2 つの無限数値がプログラム式 +Infinity (あるいは単に Infinity) および -Infinity によって生成されることに注意しなさい。) 残りの 18437736874454810624 (すなわち 264-253) 個の値は有限数と呼ばれる。これらの半分は正の数、半分は負の数である; 有限の正の数のそれぞれについて、同じ大きさを持つ対応する負の数がある。 正の 0 と負の 0 の双方があることに注意。簡単に、解説ではシンボル +0 及び -0 によってもこれらの値をそれぞれ参照する。(これら 2 つの 0 数値はプログラム式 +0 (または単に 0) および -0 によって提示される。) 18437736874454810622 (つまり 264-253-2) 個の 0 でない有限の値は 2 種類ある それらのうち 18428729675200069632 (つまり 264-254) 個は次の形式で正規化される。 s × m × 2e s は +1 または -1 、 m は 252 以上 253 未満の正の整数、e は -1074 以上 971 以下の範囲の整数である。 残りの 9007199254740990 (つまり 253-2) 個の値は次の形式で非正規化 (denormalised) される。 s × m × 2e s は +1 または -1 、 m は 252 未満の正の整数、e は -1074 である。 大きさが 253 以下の正負の整数全ては Number 型で表現できることに注意(実に、整数 0 は 2 つの表現 +0 と -0 を持つ)。 有限数はそれが 0 でなく (上の 2 つのどちらかの式で) 使われた整数 m が奇数のとき、有効数字は奇数である。そうでなければ、有効数字は偶数である。 本仕様において、正確な 0 以外の実際の数学的な量(それはさらに π のような無理数かもしれない) を x と表わすとき、句 " x の数値" は、次の方法で選ばれた数値を意味する。Number 型のすべての有限の値の集合を考える。 -0 を除外し、 Number 型では表現不能な 2 つの値、すなわち 21024(即ち +1 × 253 × 2971) 及び -21024(即ち -1 × 253 × 2971) を追加する。この集合から x の値に最も近いものを選ぶ。最も近いものが集合内の 2 個ある場合、有効数字が偶数であるもの選ばれる; この用途について、拡張した 2 つの値 21024、そして-21024 は有効数字が偶数とみなす。最後に、21024 が選ばれた場合、それを +∞ に置換する; -21024 が選ばれた場合、それを -∞ に置換する; +0 が選ばれた場合、 x が 0 未満である場合のみそれを -0 に置換する; 他の値が選ばれたら変更はない。この結果が x の数値である。(この過程は、 IEEE 754 "round to nearest" モードの振舞いに正確に該当する。) 231 以上 231-1 以下、また 0 以上 232-1 以下の範囲の整数のみを扱う ECMAScript 演算子もある。これらの演算子は任意の Number 型の値を受け付けるが、まず最初に 232 個の整数値の一つに変換を行う。それぞれセクション 9.5, 9.6 にある ToInt32 及び ToUint32 演算子の解説を参照。 8.6 Object 型 (Object type) Object とはプロパティの序列のない集合体である。各プロパティは名前と値、そして属性の組で構成される。 8.6.1 プロパティ属性 プロパティは次の組から0個以上の属性を持つことができる 属性説明 ReadOnly 属性このプロパティは読出し専用のプロパティである。 ECMAScript コードによるこのプロパティの書きこみ試行は無視される。 (注意 実装によって行われるアクションのために ReadOnly 属性のプロパティの値が変更されるケースもありうる; "ReadOnly" であることは "定数で変更されない" ということではない) DontEnum 属性このプロパティは for-in ループ (12.6.3) では列挙されない。 DontDelete 属性このプロパティの削除を試行しても無視される。 delete 演算子の説明(11.4.1) を参照。 Internal 属性内部プロパティは名前を持たず、プロパティアクセス演算子経由で直にアクセスできない。 これらのプロパティへのアクセス方法は実装依存である。 言語仕様毎に、使われ方やタイミングによって特定されるプロパティもある。 8.6.2 内部プロパティとメソッド 内部プロパティとメソッドは言語内には露出しない。この文書の目的のために、 ここでは二重角括弧 で囲ってその名前をあらわす。 アルゴリズムがオブジェクトの内部プロパティを使用していて、 指示された内部プロパティをオブジェクトが実装していないとき、ランタイムエラーが発生する。 露出するプロパティのアクセスには 2 種類ある get と put、取得と設定に相当する。 Native ECMAScript オブジェクトは Prototype と呼ばれる内部プロパティを持つ。 このプロパティの値は null や オブジェクトであり、継承の実装に使用される。 Prototype オブジェクトのプロパティは、 子オブジェクトのプロパティの取得には露出するが、設定には露出しない。 次の表はこの仕様で使われる内部プロパティの概要である。 説明は Native ECMAScript オブジェクトのためのそれらの挙動を示す。 Host オブジェクトはこれらの内部メソッドを任意の実装依存の挙動に実装してもよく、また Host オブジェクトは内部メソッドの一部のみを実装して他を実装しなくてもよい。 プロパティパラメータ説明 Prototype無しこのオブジェクトのプロトタイプ。 Class無しこのオブジェクトの種類。 Value無しこのオブジェクトに関する内部状態の情報。 Get(プロパティ名)プロパティの値を返す。 Put(プロパティ名, 値)指定されたプロパティに値を設定する。 CanPut(プロパティ名)指定されたプロパティ名の Put 操作が成功するかどうかを示す boolean 値を返す。 HasProperty(プロパティ名)オブジェクトがすでに与えられた名前のメンバを持っているかを示す boolean 値を返す。 Delete(プロパティ名)オブジェクトから指定されたプロパティを取り除く。 DefaultValue(ヒント)オブジェクトのデフォルト値を返すが それは primitive 値でなければならず、オブジェクトや参照であってはならない。 Construct呼出側が提供する引数値のリストオブジェクトを生成する。new 演算子によって呼出される。 この内部メソッドを実装するオブジェクトはコンストラクタ (constructor) と呼ばれる。 Call呼出側が提供する引数値のリストオブジェクトに関連するコードを実行する。 関数呼出の式 (expression) を経由して呼出される。 この内部メソッドを実装するオブジェクトは関数 (function) と呼ばれる。 HasInstance(値)値がこのオブジェクトに振る舞いを委任しているかどうかを示す Boolean 値を返す。 Native ECMAScript オブジェクトでは、Function オブジェクトだけが Hasinstance を実装している。 Scope無しその中で Function オブジェクトが実行される環境を定義するスコープ連鎖。 Match(文字列, インデックス)正規表現マッチを試行し、 MatchResult 値を返す(15.10.2.1 参照)。 各オブジェクトは Class プロパティと、Get, Put, HasProperty, Delete, DefaultValue メソッドを実装しなければならない。Host オブジェクトであっても同様である。(注意 とはいえ、DefaultValue メソッドは、単にランタイムエラーを生成してもよい。 Prototype プロパティの値はオブジェクトか null でなければならず、 各 Prototype 連鎖の長さは有限でなければならない(つまり、任意のオブジェクトから始まる Prototype プロパティの再帰的アクセスは、結果的に null 値に導かれる)。 Native オブジェクトが Host オブジェクトを Prototype として持つかどうかは実装に依存する。 各種組込み オブジェクトの Class プロパティの値はこの仕様で定義される。 Host オブジェクトの Class プロパティの値は任意の値でよく、組込み オブジェクトからその Class プロパティのために使用される値でも例外ではない。 この仕様はプログラムに Class プロパティの値へのアクセスを意味するものは何も提供しないことに注意; これは組込み オブジェクトの種類の違いの区別に内部的に使用される。 各 Native オブジェクトは、セクション 8.6.2.1, 8.6.2.2, 8.6.2.3, 8.6.2.4, 8.6.2.5 で述べられる Get, Put, CanPut, HasProperty, Delete メソッドをそれぞれ実装する。但し Array オブジェクトの Put メソッドの実装はわずかに異なる(15.4.5.1)。 Host オブジェクトは任意の方法でこれらのメソッドを実装してよい; 例えば、特殊な Host オブジェクトの Get 及び Put が、プロパティに値を格納するが HasProperty は常に false を生成する可能性がある。 次のアルゴリズム説明において、 O を Native ECMAScript オブジェクト、P を文字列と仮定する。 8.6.2.1 Get (P) O の Get メソッドがプロパティ名 P で呼出されると、次のステップがとられる O が P という名前のプロパティを持っていなければ、ステップ 4 へ進む。 そのプロパティの値を取得する。 Result(2) を返す。 O の Prototype が null ならば、undefined を返す。 Prototype の Get メソッドを、プロパティ名 P で呼び出す。 Result(5) を返す。 8.6.2.2 Put (P, V) O の Put メソッドがプロパティ P と値 V で呼び出された場合、次のステップがとられる O の CanPut メソッドを、名前 P で呼び出す。 Result(1) が false なら戻る。 O が名前 P のプロパティを持っていなければ、ステップ 6 へ進む。 そのプロパティの値に V を設定する。プロパティの属性は変更されない。 戻る。 名前 P のプロパティを生成し、その値に V を設定し、空の属性を与える。 戻る。 しかし、O が Array オブジェクトである場合、より入念な Put メソッド (セクション 15.4.5.1) を持つ。 8.6.2.3 CanPut (P) CanPut メソッドは Put メソッドによってのみ使用される。O の CanPut メソッドがプロパティ P で呼出されると、次のステップが取られる O が名前 P のプロパティを持っていなければ、ステップ 4 へ進む。 プロパティが ReadOnly 属性を持っていれば、 false を返す。 true を返す。 O の Prototype が null ならば、true を返す。 O の Prototype の Canput メソッドを、プロパティ名 P で呼出す。 Result(5) を返す。 8.6.2.4 HasProperty (P) O の HasProperty メソッド がプロパティ名 P で呼出されると、次のステップが取られる O が名前 P のプロパティを持っていれば、 true を返す。 O の Prototype が null ならば、 false を返す。 Prototype の HasProperty メソッドをプロパティ名 P で呼出す。 Result(3) を返す。 8.6.2.5 Delete (P) O の Delete メソッドがプロパティ名 P で呼出されると、次のステップが取られる O が名前 P のプロパティを持たなければ、 true を返す。 そのプロパティが DontDelete 属性であれば、 false を返す。 O から名前 P のプロパティを取り除く。 true を返す。 8.6.2.6 DefaultValue (hint) O の DefaultValue メソッドがヒント String で呼出されると、次のステップが取られる O の Get メソッドを、引数 "toString" で呼出す。 Result(1) がオブジェクトでなければ、ステップ 5 へ。 Result(1) の Call メソッドを、this 値 O と空の引数のリストで呼出す。 Result(3) がプリミティブ値であれば、Result(3) を返す。 O の Get メソッドを、引数 "valueOf" で呼出す。 Result(5) がオブジェクトでなければ、ステップ 9 へ。 Result(5) の Call メソッドを、this 値 O と空の引数のリストで呼出す。 Result(7) がプリミティブ値であれば、 Result(7) を返す。 例外 TypeError を投げる。 O の DefaultValue メソッドがヒント Number で呼出されると、次のステップが取られる O の Get メソッドを、引数 "valueOf" で呼出す。 Result(1) がオブジェクトでなければ、ステップ 5 へ。 Result(1) の Call メソッドを、this 値 O と空の引数のリストで呼出す。 Result(3) がプリミティブ値であれば、Result(3) を返す。 O の Get メソッドを、引数 "toString" で呼出す。 Result(5) がオブジェクトでなければ、ステップ 9 へ。 Result(5) の Call メソッドを、this 値 O と空の引数のリストで呼出す。 Result(7) がプリミティブ値であれば、 Result(7) を返す。 例外 TypeError を投げる。 O の DefaultValue メソッドがヒント無しで呼出されると、ヒントが Number であるかのように振舞う。O が Date オブジェクト (セクション 15.9) の場合は、ヒントが String であるかのように振舞う。 Native オブジェクトのための上記 DefaultValue 仕様はプリミティブな値のみを返す。Host オブジェクトがそれ自身の DefaultValue メソッドを実装するならば、その DefaultValue メソッドはプリミティブな値のみを返すことを保証しなければならない。 8.7 Reference 型 (Reference Type) 内部 Reference 型は言語のデータ型ではない。 純粋に解説上の目的で本仕様に定義される。 ECMAScript 実装は、ここに述べるように、リファレンス上にそれが生成し演算したかのように振舞わなければならない。しかしながら、Reference 型の値は、式評価の中間結果としてのみ用いられ、変数あるいはプロパティの値として格納することはできない。 Reference 型は、delete, typeof のような演算子、そして代入演算子の振舞いの説明に使用される。例えば、代入の左オペランドはリファレンスの生成が期待される。代入の振舞いは、代わりに、代入演算子の左オペランドの構文形式上のケース解析の点から完全に説明される、ある難点が無ければ 関数呼び出しはリファレンスを返すことを許される。純粋に Host オブジェクトにこの可能性が認められる。本仕様で定義される組込み ECMAScript 関数はリファレンスを返さず、リファレンスを返すようなユーザ定義関数に提供するものは無い。(構文的ケース解析を使用しないもう一つの理由は、冗長で扱いにくく仕様の多くの部分に影響するだろうということだ。) Reference 型のもう一つの利用は、関数呼出しの this 値の決定の説明である。 Reference は、オブジェクトのプロパティへの参照である。Reference は基準オブジェクト(base object) とプロパティ名の 2 つの成分から構成される。 Reference の成分にアクセスするために、本仕様において次の抽象的演算が使用される GetBase(V). リファレンス V の基準オブジェクト成分を返す。 GetPropertyName(V). リファレンス V のプロパティ名成分を返す。 リファレンス上の演算において、本仕様では次の抽象的演算が使用される 8.7.1 GetValue (V) Type(V) が Reference でなければ、 V を返す。 GetBase(V) を呼出す。 Result(2) が null ならば、例外 ReferenceError を投げる。 Result(2) の Get メソッドを呼び、プロパティ名に GetPropertyName(V) を渡す。 Result(4) を返す。 8.7.2 PutValue (V, W) Type(V) が Reference でなければ、例外 ReferenceError を投げる。 GetBase(V) を呼出す。 Result(2) が null ならば、ステップ 6 へ。 Result(2) の Put メソッドを呼び、プロパティ名に GetPropertyValue(V)、値に W を渡す。 戻る。 Global オブジェクトの Put メソッドを呼び、プロパティ名に GetPropertyValue(V)、値に W を渡す。 戻る。 8.8 List 型 内部 List 型は言語のデータ型ではない。純粋に解説上の目的で本仕様に定義される。ここに記述された方法で List 値上で提示し演算したかのように、ECMAScript 実装は振舞わなければならない。しかしながら、Reference 型の値は、式評価の中間結果としてのみ用いられ、変数あるいはプロパティの値として格納することはできない。 List 型は、new 式 (new expressions) および関数呼び出し (function call) において、引数リストの評価を説明するのに使用される。List 型の値は、単純な順序のある値のシーケンスである。シーケンスは任意の長さでよい。 8.9 Completion 型 (Completion Type) 内部 Completion 型は言語のデータ型ではない。純粋に説明を目的として本仕様に定義される。ここに記述された方法で Completion 値上で提示し演算したかのように、ECMAScript 実装は振舞わなければならない。とはいえ、Completion 型の値は、文(statment) 評価の中間結果として利用されるのみであり、変数やプロパティの値として蓄積することはできない。 Completion 型は制御の非ローカル転送を実行する文(statement; break, continue, return, throw) の挙動の説明に使用される。Completion 型の値は形式 (type, value, target) の 3 成分であり、type は normal, break, continue, return, throw のうちの一つ、value は任意の ECMAScript 値または empty、target は任意の ECMAScript 識別子または empty である。 用語 "中途完了 (abrupt completion)" は type が normal 以外である任意の completion を参照する。 型変換 (Type Conversion) ECMAScript ランタイムシステムは、必要時に自動型変換を行う。一定の構成物の意味論を計画にするため、変換演算子のセットの定義が有用である。これらの演算子は言語の一部ではない; ここでは、言語の意味論の仕様を助けるためにこれらを定義する。変換演算子は多様的である; つまり、標準的な型を受け入れることはできるが、 Reference, List, Completion (内部的型) を受け入れることはできない。 9.1 ToPrimitive ToPrimitive 演算子は引数 Value と選択的な引数 PreferredType をとる。 ToPrimitive 演算子はその引数の値を非 Object 型に変換する。オブジェクトが一つ以上のプリミティブ型に変換可能である場合、選択的な PreferredType ヒントをそのタイプに選んでよい。変換は次の表にしたがって発生する 入力型結果 Undefined結果は入力引数と等しい。(無変換) Null結果は入力引数と等しい。(無変換) Boolean結果は入力引数と等しい。(無変換) Number結果は入力引数と等しい。(無変換) String結果は入力引数と等しい。(無変換) ObjectObject のデフォルトの値を返す。オブジェクトのデフォルトの値は、オブジェクトの内部メソッド DefaultValue に選択的ヒント PreferredType を渡して取得される。DefalutValue メソッドの挙動は、全ての ECMAScript オブジェクトの仕様によって定義される。(セクション 8.6.2.6) 9.2 ToBoolean ToBoolean 演算子は、次の表にしたがって引数を Boolean 型の値に変換する。 入力型結果 Undefinedfalse Nullfalse Boolean結果は入力引数と等しい。(無変換) Number引数が +0, -0, NaN ならば結果は false; そうでなければ true String引数が空文字列 (長さ 0) ならば結果は false; そうでなければ true Objecttrue 9.3 ToNumber ToNumber 演算子は、次の表にしたがって引数を Number 型の値に変換する。 入力型結果 UndefinedNaN Null+0 Boolean引数が true ならば結果は 1.false ならば +0。 Number結果は入力引数と等しい。(無変換) String下の文法と注意を参照。 Object次のステップを適用 1. ToPrimitive(input argument, hint Number) を呼出す。 2. ToNumber(Result(1)) を呼出す。 3. Result(2) を返す。 9.3.1 String 型に適用される ToNumber (ToNumber Applied to the String Type) 文字列に適用される ToNumber は、入力文字列に 次の文法を適用する。文法が文字列を StringNumericLiteral として解釈不能ならば、 ToNumber の結果は NaN である。 StringNumericLiteral StrWhiteSpaceopt StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt StrWhiteSpace StrWhiteSpaceChar StrWhiteSpaceopt StrWhiteSpaceChar TAB SP NBSP FF VT CR LF LS PS USP StrNumericLiteral StrDecimalLiteral HexIntegerLiteral StrDecimalLiteral StrUnsignedDecimalLiteral StrUnsignedDecimalLiteral StrUnsignedDecimalLiteral StrUnsignedDecimalLiteral Infinity DecimalDigits . DecimalDigitsopt ExponentPartopt . DecimalDigits ExponentPartopt DecimalDigits ExponentPartopt DecimalDigits DecimalDigit DecimalDigits DecimalDigit DecimalDigit one of 0 1 2 3 4 5 6 7 8 9 ExponentPart ExponentIndicator SignedInteger ExponentIndicator one of e E SignedInteger DecimalDigits DecimalDigits DecimalDigits HexIntegerLiteral 0x HexDigit 0X HexDigit HexIntegerLiteral HexDigit HexDigit one of 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F StringNumericLiteral と NumericLiteral の構文間にいくつか注目すべき相違点がある (セクション 7.8.3) StringNumericLiteral には、空白または行終端子が、先行また後続してよい。 10 進数である StringNumericLiteral は may have any number of leading 0 digits. 10 進数である StringNumericLiteral は、符号を示す + または - が先行してよい。 空や空白である StringNumericLiteral は +0 に変換される。 文字列の数値への変換は、全体に数値リテラルの数値の決定と似ている (セクション 7.8.3) が、いくつかの点で異なり、従って string numeric literal の Number 型の値への変換処理はここに全て与えられる。この値は 2 ステップで決定される まず、数学値 (MV) が string numeric literal から派生する; 次に、この数学値が次のように丸められる。 StringNumericLiteral [empty] の数学値は、 0 である。 StringNumericLiteral StrWhiteSpace の数学値は、 0 である。 StringNumericLiteral StrWhiteSpaceopt StrNumericLiteral StrWhiteSpaceopt の数学値は、空白が存在するかどうかにかかわらず、 StrNumericLiteral の数学値である。 StrNumericLiteral StrDecimalLiteral の数学値は、 StrDecimalLiteral の数学値である。 StrNumericLiteral HexIntegerLiteral の数学値は、 HexIntegerLiteral の数学値である。 StrDecimalLiteral StrUnsignedDecimalLiteral の数学値は、 StrUnsignedDecimalLiteral の数学値である。 StrDecimalLiteral + StrUnsignedDecimalLiteral の数学値は、 StrUnsignedDecimalLiteral の数学値である。 StrDecimalLiteral - StrUnsignedDecimalLiteral の数学値は、 負の StrUnsignedDecimalLiteral の数学値である。 (StrUnsignedDecimalLiteral の数学値が 0 ならば、負の数学値も 0 であることに注意。下に述べる丸め規則は handles the conversion of this sign less mathematical zero to a floating-point +0 or -0 as appropriate ) StrUnsignedDecimalLiteral Infinity の数学値は、 1010000 (a value so large that it will round to +∞) である。 StrUnsignedDecimalLiteral DecimalDigits. の数学値は、 DecimalDigits の数学値である。 StrUnsignedDecimalLiteral DecimalDigits. DecimalDigits の数学値は、 n を 2 つ目の DecimalDigits の文字数として、 1 つ目の DecimalDigits の数学値に (2 つ目の DecimalDigits の数学値 × 10-n) を足す。 StrUnsignedDecimalLiteral DecimalDigits. ExponentPart の数学値は、 e を ExponentPart の数学値として、 DecimalDigits の数学値 × 10e である。 StrUnsignedDecimalLiteral DecimalDigits. DecimalDigits ExponentPart の数学値は、 n を 2 つ目の DecimalDigits の文字数、 e を ExponentPart の数学値として、 (1 つ目の DecimalDigits の数学値 + (2 つ目の DecimalDigits の数学値 × 10n) ) × 10e である。 StrUnsignedDecimalLiteral . DecimalDigits の数学値は、 n を DecimalDigits の文字数として、 DecimalDigits の数学値 × 10n である。 StrUnsignedDecimalLiteral . DecimalDigits ExponentPart の数学値は、n を DecimalDigits の文字数、 e を ExponentPart の数学値として、 DecimalDigits の数学値 × 10e-n である。 StrUnsignedDecimalLiteral DecimalDigits の数学値は、 DecimalDigits の数学値である。 StrUnsignedDecimalLiteral DecimalDigits ExponentPart の数学値は、e を ExponentPart の数学値として、 DecimalDigits の数学値 × 10e である。 DecimalDigits DecimalDigit の数学値は、 DecimalDigit の数学値である。 DecimalDigits DecimalDigits DecimalDigit の数学値は、 (DecimalDigits の数学値 × 10) + DecimalDigit の数学値 である。 ExponentPart ExponentIndicator SignedInteger の数学値は、 SignedInteger の数学値である。 SignedInteger DecimalDigits の数学値は、 DecimalDigits の数学値である。 SignedInteger + DecimalDigits の数学値は、 DecimalDigits の数学値である。 SignedInteger - DecimalDigits の数学値は、負の DecimalDigits の数学値である。 DecimalDigit 0 または HexDigit 0 の数学値は、 0 である。 DecimalDigit 1 または HexDigit 1 の数学値は、 1 である。 DecimalDigit 2 または HexDigit 2 の数学値は、 2 である。 DecimalDigit 3 または HexDigit 3 の数学値は、 3 である。 DecimalDigit 4 または HexDigit 4 の数学値は、 4 である。 DecimalDigit 5 または HexDigit 5 の数学値は、 5 である。 DecimalDigit 6 または HexDigit 6 の数学値は、 6 である。 DecimalDigit 7 または HexDigit 7 の数学値は、 7 である。 DecimalDigit 8 または HexDigit 8 の数学値は、 8 である。 DecimalDigit 9 または HexDigit 9 の数学値は、 9 である。 HexDigit a または HexDigit A の数学値は、 10 である。 HexDigit b または HexDigit B の数学値は、 11 である。 HexDigit c または HexDigit C の数学値は、 12 である。 HexDigit d または HexDigit D の数学値は、 13 である。 HexDigit e または HexDigit E の数学値は、 14 である。 HexDigit f または HexDigit F の数学値は、 15 である。 HexIntegerLiteral 0x HexDigit の数学値は、 HexDigit の数学値である。 HexIntegerLiteral 0X HexDigit の数学値は、 HexDigit の数学値である。 HexIntegerLiteral HexIntegerLiteral HexDigit の数学値は、 (HexIntegerLiteral の数学値 × 16) + HexDigit の数学値 である。 一旦数値文字列リテラルの厳密な数学値が決定されたら、 Number 型の値に丸められる。数学値が 0 ならば、丸められる値は、数値文字列リテラル内の最初の非空白文字が - でなければ +0 であり、 - ならば -0 である。 そうではなく、リテラルが StrUnsignedDecimalLiteral を含まず、そのリテラルが 20 を超える有効数字数\でなければ、数値が 20 番目以降の各有効数字を数字 0 で置換して生成されるリテラルの数学値の数値、または 20 番目以降の各有効数字を数字 0 で置換して生成されるリテラルの数学値の数値、そして 20 番目の数字の位置でリテラルを増加のどちらかでありえる場合、丸められる値は (セクション 8.5 で定義される意味の) 数学値の数値でなければならない。数字はそれが ExponentPart の一部\でなく次の二点のどちらかあれば有効数字 (significant) である。 0 でない。 その左側が 0 以外の数字でその右側が 0 以外の数字で ExponentPart 内でない。 9.4 ToInteger ToInteger 演算子は引数を整数値に変換する。この演算子は次のように機能する 入力引数に ToNumber を呼出す。 Result(1) が NaN ならば、 +0 を返す。 Result(1) が +0, -0, +∞, -∞ ならば、 Result(1) を返す。 sign( Result(1)) * floor(abs(Result(1)) ) を算出する。 Result(4) を返す。 9.5 ToInt32 (Signed 32 Bit Integer) ToInt32 演算子は、引数を -231 から 231-1 を含めた範囲内で、 232 個の整数値の一つに変換する。 この演算子は次のように機能する 入力引数に ToNumber を呼出す。 Result(1) が NaN, +0, -0, +∞, or -∞ ならば、 +0 を返す。 sign(Result(1)) * floor(abs(Result(1))) を算出する。 Result(3) modulo 232 を算出する; すなわち、 Result(3) との数学的な差が数学的に 232 の整数倍であるような、大きさ 232 未満の正符号付き Number 型の 有限整数値 k である。 Result(4) が 231 以上ならば、 Result(4) - 232 を返す。そうでなければ Result(4) を返す。 NOTE 上記の ToInt32 の定義を与える ToInt32 演算は idempotent である 生成された結果に適用するならば、2 回目の適用は値を変更せずに残す。 x の全ての値にとって、ToInt32(ToUint32(x)) は ToInt32(x) 等価である。 (+∞ と -∞ は +0 にマップされるのは後者のプロパティの保存である。) ToInt32 は -0 を +0 にマップする。 9.6 ToUint32 (Unsigned 32 Bit Integer) ToUint32 演算子は引数を、 0 から 232-1 を含む範囲の 232 個の整数値の一つに変換する。個の演算子は次のように機能する 入力引数に ToNumber を呼出す。 Result(1) が NaN, +0, -0, +∞, -∞ ならば、 +0 を返す。 sign(Result(1)) * floor(abs(Result(1))) を算出する。 Result(3) modulo 232 を算出する; すなわち、 Result(3) と k との数学的な差が数学的に 232 の整数倍であるような、大きさ 232 未満の正符号付き Number 型の有限整数値 k である。 Result(4) を返す。 NOTE 上記の ToUInt32 の定義を与える ステップ 5 は ToUint32 と ToInt32 との間の違いである。 ToUint32 演算は idempotent である 生成された結果に適用するならば、2 回目の適用は値を変更せずに残す。 x の全ての値にとって、ToUint32(ToInt32(x)) は ToUint32(x) 等価である。 (+∞ と -∞ は +0 にマップされるのは後者のプロパティの保存である。) ToUint32 は -0 を +0 にマップする。 9.7 ToUint16 (Unsigned 16 Bit Integer) ToUint16 演算子は、引数を 0 から 216-1 までの範囲の 216 個の整数値のうちの一つに変換する。この演算は次のように機能する 入力引数に ToNumber を呼出す。 Result(1) が NaN, +0, -0, +∞, -∞ ならば、 +0 を返す。 sign(Result(1)) * floor(abs(Result(1))) を算出する。 Result(3) modulo 216 を算出する; すなわち、 Result(3) と k との数学的な差が数学的に 216 の整数倍であるような、大きさ 216 未満の正符号付き Number 型の有限整数値 k である。 Result(4) を返す。 NOTE 上記の ToUint16 の定義を与える ToUint32 と ToUint16 との間の違いは、ステップ 4 にて 232 に 216 を代用しているだけである。 ToUint16 は -0 を +0 にマップする。 9.8 ToString ToString 演算子は、次の表に従って引数を String 型の値に変換する。 入力型結果 Undefined"undefined" Null"null" Boolean引数が true ならば、結果は "true" 。引数が false ならば、結果は "false" 。 Number下のノートを参照。 String入力引数を返す。 (無変換) Object次のステップを適用 ToPrimitive(入力引数, hint String) を呼出す。 ToString(Result(1)) を呼出す。 Result(2) を返す。 9.8.1 Number 型に適用される ToString (ToString Applied to the Number Type) ToString 演算子は、次のように数 m を文字列形式に変換する m が NaN ならば、文字列 "NaN" を返す。 m が +0 または -0 ならば、文字列 "0" を返す。 m が 0 未満ならば、文字 "-" と ToString(-m) を連結した文字列を返す。 m が無限数ならば文字列 "Infinity" を返す。 そうでないならば、 n, k, s を、 k ≥ 1, 10k-1 ≤ s 10k, s × 10n-k の数値が m, 可能な限り小さい k であるような整数とする。 k は s の 10 進表記の字数であること、 s は 10 で割りきれないこと、 s の最小桁数字はこれらの基準によって必ずしも一意に決定されないことに注意。 k ≤ n ≤ 21 ならば、 n-k 個の文字 0 の出現の続く、 s の 10 進表記である k 個の数字 (0 は先行しない) で構成する文字列を返す。 0 n ≤ 21 ならば、最大桁 s の 10 進表記の n 個の数字, 小数点 . , s の 10 進表記の残りの k-n 個の数字の続く文字列を返す。 6 n ≤ 0 ならば、文字 0 , 小数点 . , -n 個の文字 0 , s の 10 進表記である k の続く文字列を返す。 そうでなければ、 k = 1 ならば、 s の単一の数字, 小文字 e , n-1 の正負に従う正符号 + または負符号 - , 整数 abs(n-1) の 10 進表記 (0 は先行しない) の続く文字列を返す。 s の 10 進表記の最大桁の数字, 小数点 . , s の 10 進表記の残り k-1 個の数字, 小文字 e , n-1 の正負に従う正符号 + または負符号 - , 整数 abs(n-1) の 10 進表記 (0 は先行しない) の続く文字列を返す。 NOTE 次の観察は実装ガイドラインとして有用かもしれないが、この標準の標準必須条件の一部ではない。 x が -0 以外の任意の数値ならば、 ToNumber(ToString(x)) は厳密に x と同じ数値である。 s の最小桁数字は、ステップ 5 に挙げた要求によって常に一意に決定されるとは限らない。 上記の規則によって要求されるよりも拠り正確な規定を提供する実装には、次のステップ 5 の代替バージョンをガイドラインとして使用することが奨められる そうでないならば、 n, k, s を k ≧ 1, 10k-1 ≦ s 10k, s × 10n-k の数値を m, k はできるだけ小さいような整数値とする。 s が複数存在しうるならば、 s × 10n-k が値で m に最も近くなるような s を選択する。 s として可能な値が 2 つあれば、偶数である方をを選ぶ。 k は s の 10 進表記の数字の数で、 s は 10 で割り切れないことに注意。 ECMAScript 実装者は、浮動小数点数の 2 進数から 10 進数への変換のために David M. Gay による役に立つペーパー及びコードを検索できる Gay, David M. Correctly Rounded Binary-Decimal and Decimal-Binary Conversions. Numerical Analysis Manuscript 90-10. AT T Bell Laboratories (Murray Hill, New Jersey). November 30, 1990. http //cm.bell-labs.com/cm/cs/doc/90/4-10.ps.gz で利用可能。関連コードが http //cm.bell-labs.com/netlib/fp/dtoa.c.gz 及び http //cm.bell-labs.com/netlib/fp/g_fmt.c.gz で利用可能。様々な netlib ミラーサイトでも検索できる。 9.9 ToObject ToObject 演算子は次の表に従って引数をオブジェクト型の値に変換する 入力型結果 Undefined例外 TypeError を投げる。 Null例外 TypeError を投げる。 Booleanvalue プロパティがそのブーリアンである Boolean オブジェクトを新しく作成する。 セクション 15.6 Boolean オブジェクトの説明を参照。 Numbervalue プロパティがその数値である Number オブジェクトを新しく作成する。 セクション 15.7 Number オブジェクトの説明を参照。 Stringvalue プロパティがその文字列である String オブジェクトを新しく作成する。 セクション 15.5 String オブジェクトの説明を参照。 Object結果は入力引数である (変換しない)。
https://w.atwiki.jp/tmlibjs/pages/21.html
説明 簡単に三角形を描画できるクラス 公式ドキュメント tm.display.TriangleShape サンプル html canvas id="world" /canvas js var SCREEN_WIDTH = 320; // スクリーン幅 var SCREEN_HEIGHT = 320; // スクリーン高さ var ASSETS = { "chick" "http //jsrun.it/assets/x/X/n/k/xXnkc.png", "frame" "http //jsrun.it/assets/5/n/Y/8/5nY87.png", }; tm.main(function() { var app = tm.display.CanvasApp("#world"); app.resize(SCREEN_WIDTH, SCREEN_HEIGHT);// 画面サイズに合わせる app.fitWindow();// リサイズ対応 app.background = "rgb(0,50,0)";// 背景色をセット // 読み込みシーンを初期セット var loadingScene = tm.app.LoadingScene({ assets ASSETS, nextScene MainScene,// 次はMainScene width SCREEN_WIDTH, height SCREEN_HEIGHT }); app.replaceScene(loadingScene); // tmlib実行 app.run(); }); tm.define("MainScene", { superClass "tm.app.Scene", init function() { this.superInit(); this.player = Player(); this.addChild(this.player); this.player.setPosition(150,300); } }); tm.define("Player", { superClass "tm.display.TriangleShape", init function(){ this.superInit(); }, });